Computer systems are well known in the art and have attained widespread use for providing computer power to many segments of today's modern society. As advances in semiconductor processing and computer architecture continue to push the performance of computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems that continue to increase in complexity and power. Computer systems have thus evolved into extremely sophisticated devices that may be found in many different settings. Computer systems are often connected to the Internet or other broad-based network in order to communicate with other computer systems, access information or other resources, or perform various tasks associated with business, personal banking, electronic commerce transactions, or other endeavors. Connection to other systems via the Internet, however, brings with it the risk of compromise of the computer system and the data located on it from viruses, worms, Trojan horses, hackers, or other types of attacks. System developers often utilize firewalls that control traffic to and from a network to help protect the computer systems from outside attack and to otherwise control information flow to and from a computer system.
Firewall products, which are often distributed as software application programs, can be considered to fall into one of two broad categories: corporate network firewalls and personal firewalls. Corporate network firewalls (also referred to as sub-net firewalls or non-personal firewalls) monitor traffic at a network bottleneck, such as at a point where a corporate intranet interfaces to the Internet. At this position, all of the computers on the corporate intranet can be protected from threats outside the intranet originating from the Internet. This is a cost effective and efficient solution for corporations or other organizations as firewall products need only be installed and administered at the one or more key networking interfaces between the intranet(s) and the Internet. Corporate network firewalls may also monitor traffic at a network bottleneck, such as at a point where a general corporate network interfaces with a high-security corporate network, such as at a lab or research organization.
The second broad category of firewall product is a “personal” firewall that runs directly on a computer system. Some are distributed or provided as a separate application program, while others, such as Microsoft Corporation's Microsoft® Windows firewall are embedded in an operating system. While a personal firewall protects the computer system from threats coming from its wireless or wired network interfaces, its configuration, preferences, and performance is typically limited when compared to a corporate network firewall.
These software firewalls provide some customizable ability to restrict, allow, or monitor attempts of a particular program to send or receive data. Currently these decisions may be responsive to the network subnet the user is currently connected to, the day or time, whether requested data is inbound or outbound, whether the requested data is of a certain protocol (TCP, UDP, TCP and UDP, and ICMP), the port number to receive or send data through, the IP address or network the requested data is being sent to or received from, and the user's network adapter being used. One solution used in locations with WiFi access requires users to authenticate via a browser (such as by making payment with a credit card) before being able to use the WiFi connection. This solution requires the user to know which program to launch first in order to authenticate and only provides a simple block/no-block firewall response. Such solutions, accordingly, provide a relatively broad level of control, but do not provide for a more sophisticated, precise control of data packets going through the firewall.